package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购入库单对象 biz_purchase_in
 * 
 * @author ruoyi
 * @date 2025-11-01
 */
public class BizPurchaseIn extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 采购入库单ID */
    private Long purchaseInId;

    /** 采购入库单编号 */
    @Excel(name = "采购入库单编号")
    private String purchaseInNo;

    /** 收料通知单ID */
    private Long receiptNoteId;

    /** 收料通知单编号 */
    private String receiptNoteNo;

    /** 送货单编号 */
    private String deliveryNoteNo;

    /** 供货商编码 */
    @Excel(name = "供货商编码")
    private String supplierCode;

    /** 供货商名称 */
    @Excel(name = "供货商名称")
    private String supplierName;

    /** 仓库编码 */
    @Excel(name = "仓库编码")
    private String warehouseCode;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 入库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date putawayDate;

    /** 入库状态 */
    private String putawayStatus;

    /** 总箱数 */
    private Long totalBoxes;

    /** 总数量 */
    @Excel(name = "总数量")
    private BigDecimal totalQuantity;

    /** 入库类型 */
    private String putawayType;

    /** 入库操作人 */
    @Excel(name = "入库操作人")
    private String putawayOperator;

    /** 确认人 */
    private String confirmedBy;

    /** 确认时间 */
    private Date confirmedTime;

    /** 回撤原因 */
    private String rollbackReason;

    /** 回撤操作人 */
    private String rollbackOperator;

    /** 回撤时间 */
    private Date rollbackTime;

    /** 创建人 */
    private String createdBy;

    /** 创建时间 */
    private Date createdTime;

    /** 更新人 */
    private String updatedBy;

    /** 更新时间 */
    private Date updatedTime;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    /** 采购入库箱码明细信息 */
    private List<BizPurchaseInBarcode> bizPurchaseInBarcodeList;

    /** 列表聚合：存货编码（逗号分隔，去重） */
    private String inventoryCode;

    /** 列表聚合：存货名称（逗号分隔，去重） */
    private String inventoryName;

    public void setPurchaseInId(Long purchaseInId) 
    {
        this.purchaseInId = purchaseInId;
    }

    public Long getPurchaseInId() 
    {
        return purchaseInId;
    }

    public void setPurchaseInNo(String purchaseInNo) 
    {
        this.purchaseInNo = purchaseInNo;
    }

    public String getPurchaseInNo() 
    {
        return purchaseInNo;
    }

    public void setReceiptNoteId(Long receiptNoteId) 
    {
        this.receiptNoteId = receiptNoteId;
    }

    public Long getReceiptNoteId() 
    {
        return receiptNoteId;
    }

    public void setReceiptNoteNo(String receiptNoteNo) 
    {
        this.receiptNoteNo = receiptNoteNo;
    }

    public String getReceiptNoteNo() 
    {
        return receiptNoteNo;
    }

    public void setDeliveryNoteNo(String deliveryNoteNo) 
    {
        this.deliveryNoteNo = deliveryNoteNo;
    }

    public String getDeliveryNoteNo() 
    {
        return deliveryNoteNo;
    }

    public void setSupplierCode(String supplierCode) 
    {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() 
    {
        return supplierCode;
    }

    public void setSupplierName(String supplierName) 
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName() 
    {
        return supplierName;
    }

    public void setWarehouseCode(String warehouseCode) 
    {
        this.warehouseCode = warehouseCode;
    }

    public String getWarehouseCode() 
    {
        return warehouseCode;
    }

    public void setWarehouseName(String warehouseName) 
    {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() 
    {
        return warehouseName;
    }

    public void setPutawayDate(Date putawayDate) 
    {
        this.putawayDate = putawayDate;
    }

    public Date getPutawayDate() 
    {
        return putawayDate;
    }

    public void setPutawayStatus(String putawayStatus) 
    {
        this.putawayStatus = putawayStatus;
    }

    public String getPutawayStatus() 
    {
        return putawayStatus;
    }

    public void setTotalBoxes(Long totalBoxes) 
    {
        this.totalBoxes = totalBoxes;
    }

    public Long getTotalBoxes() 
    {
        return totalBoxes;
    }

    public void setTotalQuantity(BigDecimal totalQuantity) 
    {
        this.totalQuantity = totalQuantity;
    }

    public BigDecimal getTotalQuantity() 
    {
        return totalQuantity;
    }

    public void setPutawayType(String putawayType) 
    {
        this.putawayType = putawayType;
    }

    public String getPutawayType() 
    {
        return putawayType;
    }

    public void setPutawayOperator(String putawayOperator) 
    {
        this.putawayOperator = putawayOperator;
    }

    public String getPutawayOperator() 
    {
        return putawayOperator;
    }

    public void setConfirmedBy(String confirmedBy) 
    {
        this.confirmedBy = confirmedBy;
    }

    public String getConfirmedBy() 
    {
        return confirmedBy;
    }

    public void setConfirmedTime(Date confirmedTime) 
    {
        this.confirmedTime = confirmedTime;
    }

    public Date getConfirmedTime() 
    {
        return confirmedTime;
    }

    public void setRollbackReason(String rollbackReason) 
    {
        this.rollbackReason = rollbackReason;
    }

    public String getRollbackReason() 
    {
        return rollbackReason;
    }

    public void setRollbackOperator(String rollbackOperator) 
    {
        this.rollbackOperator = rollbackOperator;
    }

    public String getRollbackOperator() 
    {
        return rollbackOperator;
    }

    public void setRollbackTime(Date rollbackTime) 
    {
        this.rollbackTime = rollbackTime;
    }

    public Date getRollbackTime() 
    {
        return rollbackTime;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<BizPurchaseInBarcode> getBizPurchaseInBarcodeList()
    {
        return bizPurchaseInBarcodeList;
    }

    public void setBizPurchaseInBarcodeList(List<BizPurchaseInBarcode> bizPurchaseInBarcodeList)
    {
        this.bizPurchaseInBarcodeList = bizPurchaseInBarcodeList;
    }

    public String getInventoryCode() {
        return inventoryCode;
    }

    public void setInventoryCode(String inventoryCode) {
        this.inventoryCode = inventoryCode;
    }

    public String getInventoryName() {
        return inventoryName;
    }

    public void setInventoryName(String inventoryName) {
        this.inventoryName = inventoryName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("purchaseInId", getPurchaseInId())
            .append("purchaseInNo", getPurchaseInNo())
            .append("receiptNoteId", getReceiptNoteId())
            .append("receiptNoteNo", getReceiptNoteNo())
            .append("deliveryNoteNo", getDeliveryNoteNo())
            .append("supplierCode", getSupplierCode())
            .append("supplierName", getSupplierName())
            .append("warehouseCode", getWarehouseCode())
            .append("warehouseName", getWarehouseName())
            .append("putawayDate", getPutawayDate())
            .append("putawayStatus", getPutawayStatus())
            .append("totalBoxes", getTotalBoxes())
            .append("totalQuantity", getTotalQuantity())
            .append("putawayType", getPutawayType())
            .append("putawayOperator", getPutawayOperator())
            .append("confirmedBy", getConfirmedBy())
            .append("confirmedTime", getConfirmedTime())
            .append("rollbackReason", getRollbackReason())
            .append("rollbackOperator", getRollbackOperator())
            .append("rollbackTime", getRollbackTime())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("inventoryCode", getInventoryCode())
            .append("inventoryName", getInventoryName())
            .append("bizPurchaseInBarcodeList", getBizPurchaseInBarcodeList())
            .toString();
    }
}
